﻿namespace ConsoleApp9
{
    internal class Program
    {
        static async Task Main(string[] args)
        {
            Console.WriteLine("Hello, World!");
          bool res= await new StartupChecker("C:\\Users\\hu\\Desktop\\startupChecker.txt").IsFirstStartupTodayAsync();
            await Console.Out.WriteLineAsync(res.ToString());
        }
   
    }
    public class StartupChecker
    {
        private readonly string _filePath;

        public StartupChecker(string filePath)
        {
            _filePath = filePath;
        }

        public async Task<bool> IsFirstStartupTodayAsync()
        {
            // 获取当前日期
            var today = DateTime.Today.ToString("yyyy-MM-dd");

            // 检查文件是否存在
            if (!File.Exists(_filePath))
            {
                // 如果文件不存在, 表示是当天首次启动
                // 创建文件并写入当天日期和启动次数 1
                await File.WriteAllTextAsync(_filePath, $"{today},1");
                return true;
            }
            else
            {
                // 如果文件存在, 读取当天的启动次数
                var contents = await File.ReadAllTextAsync(_filePath);
                var lines = contents.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
                foreach (var line in lines)
                {
                    var parts = line.Split(',');
                    if (parts[0] == today)
                    {
                        // 找到当天的记录, 将启动次数加 1 并更新文件
                        int count = int.Parse(parts[1]) + 1;
                        await File.WriteAllTextAsync(_filePath, $"{today},{count}{Environment.NewLine}");
                        return false;
                    }
                }

                // 如果没有找到当天的记录, 说明是当天首次启动
                // 在文件末尾添加当天日期和启动次数 1
                await File.AppendAllTextAsync(_filePath, $"{today},1{Environment.NewLine}");
                return true;
            }
        }
    }
}
